import 'package:flutter/material.dart';

import 'package:get/get.dart';

import '../controllers/tabs_controller.dart';

class TabsView extends GetView<TabsController> {
  const TabsView({super.key});
  @override
  Widget build(BuildContext context) {
    return Obx(
      () => Scaffold(
        body: PageView(
          physics: const NeverScrollableScrollPhysics(), // 禁止左右滑动
          controller: controller.pageController, // 页面控制器,用于控制页面切换
          children: controller.pages, // 页面列表
          onPageChanged: (index) {
            controller.setCurrentIndex(index); // 页面切换时更新当前索引改变底下tab切换
          },
        ),
        bottomNavigationBar: BottomNavigationBar(
          fixedColor: Colors.orange, // 选中颜色
          currentIndex: controller.currentIndex.value, // 第几个菜单选中
          type: BottomNavigationBarType.fixed, // 底部切换有4个或者4个以上需要配置
          onTap: (index) {
            // 点击菜单触发
            controller.setCurrentIndex(index); // 设置当前菜单索引
            controller.pageController.jumpToPage(
              index,
            ); // 通过pageController切换页面---跳转到指定页面组件
            // 注意通过pageController切换页面走的不是路由跳转，无法绑定绑定对应Controller,需要在页面里面手动Put
            // controller.pageController.animateToPage(
            //   index,
            //   duration: Duration(milliseconds: 300),
            //   curve: Curves.linear,
            // );
          },
          items: [
            BottomNavigationBarItem(icon: Icon(Icons.home), label: '首页'),
            BottomNavigationBarItem(icon: Icon(Icons.category), label: '分类'),
            BottomNavigationBarItem(
              icon: Icon(Icons.shopping_cart),
              label: '购物车',
            ),
            BottomNavigationBarItem(
              icon: Icon(Icons.room_service),
              label: '服务',
            ),
            BottomNavigationBarItem(icon: Icon(Icons.person), label: '我的'),
          ],
        ),
      ),
    );
  }
}
